# 导包（将接口对象层封装的接口类导入进来）
from api.add_cart import add_cartAPI
from api.lietmall_login import Lietlogin
# 创建测试类
class Test_add_cart:
    TOKEN=None
    # 前置处理（将第一步导入进来的接口类实例化为一个对象，将登录产生的token保存为一个类属性）
    def setup_method(self):
        self.cart_api=add_cartAPI()#注意小括号不要忘记
        self.login_api=Lietlogin()#将登录的接口类实例化为一个对象
        #通过登录对象调用login方法，拿到完整的登录响应结果，并保存到一个叫resp_l的变量中
        resp_l=self.login_api.login(test_data={"username":"user123",
                                               "password":"user123"})
        Test_add_cart.TOKEN=resp_l.json().get("data")["token"]
    # 后置处理
    def teardown_method(self):
        pass
    # 编写测试方法
    # 加入购物车成功
    def test01_success(self):
        cart_things={"goodsId":1181000,"number":1,"productId":2}
#         通过实例化的购物车对象，调用加入购物车方法，拿到加购物车的响应结果，并保存到一个变量中
        resp_a=self.cart_api.add_cart(token=Test_add_cart.TOKEN,
                                      test_data=cart_things)
#         断言errmsg的值是否为”成功“
        assert resp_a.json().get("errmsg")=="成功"

# 加入购物车失败
    def test02_success(self):
        cart_things={"goodsId":"","number":1,"productId":2}
#         通过实例化的购物车对象，调用加入购物车方法，拿到加购物车的响应结果，并保存到一个变量中
        resp_a=self.cart_api.add_cart(token=Test_add_cart.TOKEN,
                                      test_data=cart_things)
#         断言errmsg的值是否为”参数不对“
        assert resp_a.json().get("errmsg")=="参数不对"
        #断言状态码是否为200
        assert resp_a.status_code==200